#ifndef _TH_SENSOR_INF_H_
#define _TH_SENSOR_INF_H_

#include <stdint.h>

// 标准接口的返回值列表
enum
{
    TH_SENSOR_OK = 0,  // 成功
    TH_SENSOR_TIMEOUT, // 超时
    TH_SENSOR_MEM_ERR, // 内存错误
    TH_SENSOR_INVALID, // 无效指针
};

// 标准的接口控制对象
typedef struct TH_SENSOR_HANDLE
{
    uint8_t (*open)(struct TH_SENSOR_HANDLE * self);  // 初始化、打开端口
    uint8_t (*close)(struct TH_SENSOR_HANDLE * self); // 反初始化、关闭端口
    uint8_t (*read)(struct TH_SENSOR_HANDLE * self);  // 读取端口
    void* usr_ptr;//保存初始化的参数
    float temp;                                  // 温度
    float humi;                                  // 湿度
} th_sensor_handle;

//标准化调用方法

uint8_t th_sensor_open(th_sensor_handle* handle);

uint8_t th_sensor_read(th_sensor_handle* handle);

uint8_t th_sensor_close(th_sensor_handle* handle);

#endif
